// 所有的 Node.js API接口 都可以在 preload 进程中被调用.
// 它拥有与Chrome扩展一样的沙盒。
window.addEventListener('DOMContentLoaded', () => {
    const replaceText = (selector, text) => {
        const element = document.getElementById(selector)
        if (element) element.innerText = text
    }

    for (const dependency of ['chrome', 'node', 'electron']) {
        replaceText(`${dependency}-version`, process.versions[dependency])
    }
})

// 主进程 js
console.log('process', process) // 这种系统级别的只能在主进程中获取

// 可以通过 contextBridge 来传递给渲染进程 app.js 文件中
const { contextBridge, ipcRenderer } = require('electron')

const handleSend = async () => {
    return await ipcRenderer.invoke('send-event', 'hahahha')
}

// 将对象挂载到 window.myApi 上, 名称可以随意这里就叫 myApi
contextBridge.exposeInMainWorld('myApi', {
    platform: process.platform,
    handleSend
})

